/*******************************************************************************
* Warranty Disclaimer :
*
* Because the Product(s) is licensed free of charge, there is no warranty of
* any kind whatsoever and expressly disclaimed and excluded by Renesas, either
* expressed or implied, including but not limited to those for non-infringement
* of intellectual property, merchantability and/or fitness for the particular
* purpose. Renesas shall not have any obligation to maintain, service or provide
* bug fixes for the supplied Product(s) and/or the Application.
*
* Each User is solely responsible for determining the appropriateness of using
* the Product(s) and assumes all risks associated with its exercise of rights
* under this Agreement, including, but not limited to the risks and costs of
* program errors, compliance with applicable laws, damage to or loss of data,
* programs or equipment, and unavailability or interruption of operations.
*
* Limitation of Liability :
*
* In no event shall Renesas be liable to the User for any incidental,
* consequential, indirect, or punitive damage (including but not limited to
* lost profits) regardless of whether such liability is based on breach of 
* contract, tort, strict liability, breach of warranties, failure of essential
* purpose or otherwise and even if advised of the possibility of such damages.
* Renesas shall not be liable for any services or products provided by third
* party vendors, developers or consultants identified or referred to the User
* by Renesas in connection with the Product(s) and/or the Application.
*
* Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
*******************************************************************************/
/*******************************************************************************
* File Name	    : main2.c
* Version	    : 0.01
* Device(s) 	: RH850/U2A
* Description	: This is the main_pe0 tutorial code.
********************************************************************************
* History : DD.MM.YYYY Version Description
* : 04.26.2019 0.01 First Release
*******************************************************************************/

/*******************************************************************************
Macro definitions
*******************************************************************************/

#define PORT_PKCPROT					(* (volatile unsigned int *) 0xFFD92F40)
#define PORT_PWE						(* (volatile unsigned int *) 0xFFD92F44)
#define PORT_PCR1_0						(* (volatile unsigned int *) 0xFFD92040)
#define PORT_PCR1_1						(* (volatile unsigned int *) 0xFFD92044)
#define PORT_PCR1_2						(* (volatile unsigned int *) 0xFFD92048)
#define PORT_PCR1_3						(* (volatile unsigned int *) 0xFFD9204C)
#define PORT_PCR1_4						(* (volatile unsigned int *) 0xFFD92050)
#define PORT_PCR1_5						(* (volatile unsigned int *) 0xFFD92054)

/*******************************************************************************
* Outline      : PE2 Main processing
* Header       : 
* Function name: void main_pm2 (void)
* Description  : Main function base
* Arguments    : none
* Return Value : none
*******************************************************************************/
void main_pm2(void)
{
#if 0
	while(1);
#else
	unsigned int	cnt;

	// Port register write access enable setting
	PORT_PKCPROT = 0xA5A5A501;
	PORT_PWE     = 0x0ffffffe;

	while(1)
	{
		PORT_PCR1_2 = 0x00001000;

		for(cnt=0; cnt<10000; cnt++)	__nop();

		PORT_PCR1_2 = 0x00000000;

		for(cnt=0; cnt<10000; cnt++)	__nop();
	}
#endif
}
